From: Vincent Belaïche Date: Wed, 30 Dec 2015 23:10:37 +0000 (+0100) Subject: Correct ses-rename-cell cursor-intangible text prop updating. X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~21^2~3852^2~5 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=0c9abf36a4fbc775918c08c1104a64d037280abc;p=emacs.git Correct ses-rename-cell cursor-intangible text prop updating. There were two problems: - First ses-rename-cell has to work when called non interactively (with non-nil CELL argument), so in this case the start pos of put-text-property cannot be plainly (point), you need a ses-goto-print call before - Second, the range itself was computed erronously, only the first char was affected instead of the full cell width. This was not noticeable prior to changes (Deprecate `intangible' and `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z * lisp/ses.el (ses-rename-cell): Correct computation of position range to which the 'cursor-intangible text property has to be set to cell new name. --- diff --git a/lisp/ses.el b/lisp/ses.el index 8cbc2e80cde..3e35fc10ac6 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -3414,15 +3414,17 @@ highlighted range in the spreadsheet." (setf (ses-cell--symbol cell) new-name) (makunbound sym) (and curcell (setq ses--curcell new-name)) - (let* ((pos (point)) - (inhibit-read-only t) - (col (current-column)) - (end (save-excursion - (move-to-column (1+ col)) - (if (eolp) - (+ pos (ses-col-width col) 1) - (point))))) - (put-text-property pos end 'cursor-intangible new-name)) + (save-excursion + (or curcell (ses-goto-print row col)) + (let* ((pos (point)) + (inhibit-read-only t) + (end (progn + (move-to-column (+ (current-column) (ses-col-width col))) + (if (eolp) + (+ pos (ses-col-width col) 1) + (forward-char) + (point))))) + (put-text-property pos end 'cursor-intangible new-name))) ;; Update the cell name in the mode-line. (force-mode-line-update)))